Technical Field
The present invention relates to data processing systems. In particular, the present invention relates to install packages to install software components in a data processing system.
Description of Related Art
In most user environments, installation and configuration of software is a multi-step process. This multi-step process includes one or more maintenance or service packages which may be in the form of a full installation of standard features, necessary fix packs, necessary service packs, one or more necessary interim fixes, configuring the installed software, and deployment of artifacts (such as J2EE applications) into the environment supported by the installed software. This multi-step process of installing and configuring software is tedious and time consuming. In addition, this multi-step process often leads to errors and makes it hard to achieve highly repeatable results. One often has to iterate over the given steps any number of times before they achieve the exact setup desired. Installation and configuring may not be a simple linear progression through each step once. Sometimes the need to iterate is just a natural and necessary part of the process, and sometimes it is because of failures that occur during any of the given steps, requiring the user to correct the problem and redo the step, or in some cases start all over again right from the beginning.
The problem multiplies, when installing software to multiple data processing systems, because the multi-step process is repeated over and over for each individual data processing system. An attempt has been made to minimize the problem by writing a script or a program that automates the installation and configuration steps. In this manner, a script may be run on individual data processing systems to perform all the necessary steps instead of manually performing each step at the individual data processing system.
Currently, different types of users create their own customized scripts to install and configure software components based on individual needs. However, the creation of customized installations is a complicated task. Some organizations don't have the skills necessary to create such things, and even if they do it is a costly and time-consuming process. In addition, having individual users creating their own installations duplicates the effort because most installations require some common software components. Furthermore, before performing or executing a customized installation using a custom install package current users have to first detect the environment and determine if the desired software components are already installed. Moreover, software vendors find it difficult to support a user environment that has different installations.